<!DOCTYPE html>
<html lang="en-US" dir="ltr">
  <head>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width,initial-scale=1">
    <title>Luozaibo</title>
    <meta name="description" content="A VitePress Site">
    <meta name="generator" content="VitePress v1.2.2">
    <link rel="preload stylesheet" href="/assets/style.CL1aGhHb.css" as="style">
    
    <script type="module" src="/assets/app.BFWh5J1G.js"></script>
    <link rel="preload" href="/assets/inter-roman-latin.Di8DUHzh.woff2" as="font" type="font/woff2" crossorigin="">
    <link rel="modulepreload" href="/assets/chunks/framework.BwTyoF0R.js">
    <link rel="modulepreload" href="/assets/chunks/theme.f_bdnrh8.js">
    <link rel="modulepreload" href="/assets/redis.md.BA4_Iqpx.lean.js">
    <script id="check-dark-mode">(()=>{const e=localStorage.getItem("vitepress-theme-appearance")||"auto",a=window.matchMedia("(prefers-color-scheme: dark)").matches;(!e||e==="auto"?a:e==="dark")&&document.documentElement.classList.add("dark")})();</script>
    <script id="check-mac-os">document.documentElement.classList.toggle("mac",/Mac|iPhone|iPod|iPad/i.test(navigator.platform));</script>
  </head>
  <body>
    <div id="app"><div class="Layout" data-v-5d98c3a5><!--[--><!--]--><!--[--><span tabindex="-1" data-v-0f60ec36></span><a href="#VPContent" class="VPSkipLink visually-hidden" data-v-0f60ec36> Skip to content </a><!--]--><!----><header class="VPNav" data-v-5d98c3a5 data-v-ae24b3ad><div class="VPNavBar has-sidebar top" data-v-ae24b3ad data-v-ccf7ddec><div class="wrapper" data-v-ccf7ddec><div class="container" data-v-ccf7ddec><div class="title" data-v-ccf7ddec><div class="VPNavBarTitle has-sidebar" data-v-ccf7ddec data-v-ab179fa1><a class="title" href="/" data-v-ab179fa1><!--[--><!--]--><!----><span data-v-ab179fa1>Luozaibo</span><!--[--><!--]--></a></div></div><div class="content" data-v-ccf7ddec><div class="content-body" data-v-ccf7ddec><!--[--><!--]--><div class="VPNavBarSearch search" data-v-ccf7ddec><!----></div><nav aria-labelledby="main-nav-aria-label" class="VPNavBarMenu menu" data-v-ccf7ddec data-v-7f418b0f><span id="main-nav-aria-label" class="visually-hidden" data-v-7f418b0f>Main Navigation</span><!--[--><!--]--></nav><!----><div class="VPNavBarAppearance appearance" data-v-ccf7ddec data-v-e6aabb21><button class="VPSwitch VPSwitchAppearance" type="button" role="switch" title="Switch to dark theme" aria-checked="false" data-v-e6aabb21 data-v-d1f28634 data-v-1d5665e3><span class="check" data-v-1d5665e3><span class="icon" data-v-1d5665e3><!--[--><span class="vpi-sun sun" data-v-d1f28634></span><span class="vpi-moon moon" data-v-d1f28634></span><!--]--></span></span></button></div><div class="VPSocialLinks VPNavBarSocialLinks social-links" data-v-ccf7ddec data-v-0394ad82 data-v-7bc22406><!--[--><a class="VPSocialLink no-icon" href="https://github.com/vuejs/vitepress" aria-label="github" target="_blank" rel="noopener" data-v-7bc22406 data-v-eee4e7cb><span class="vpi-social-github" /></a><!--]--></div><div class="VPFlyout VPNavBarExtra extra" data-v-ccf7ddec data-v-d0bd9dde data-v-b6c34ac9><button type="button" class="button" aria-haspopup="true" aria-expanded="false" aria-label="extra navigation" data-v-b6c34ac9><span class="vpi-more-horizontal icon" data-v-b6c34ac9></span></button><div class="menu" data-v-b6c34ac9><div class="VPMenu" data-v-b6c34ac9 data-v-e7ea1737><!----><!--[--><!--[--><!----><div class="group" data-v-d0bd9dde><div class="item appearance" data-v-d0bd9dde><p class="label" data-v-d0bd9dde>Appearance</p><div class="appearance-action" data-v-d0bd9dde><button class="VPSwitch VPSwitchAppearance" type="button" role="switch" title="Switch to dark theme" aria-checked="false" data-v-d0bd9dde data-v-d1f28634 data-v-1d5665e3><span class="check" data-v-1d5665e3><span class="icon" data-v-1d5665e3><!--[--><span class="vpi-sun sun" data-v-d1f28634></span><span class="vpi-moon moon" data-v-d1f28634></span><!--]--></span></span></button></div></div></div><div class="group" data-v-d0bd9dde><div class="item social-links" data-v-d0bd9dde><div class="VPSocialLinks social-links-list" data-v-d0bd9dde data-v-7bc22406><!--[--><a class="VPSocialLink no-icon" href="https://github.com/vuejs/vitepress" aria-label="github" target="_blank" rel="noopener" data-v-7bc22406 data-v-eee4e7cb><span class="vpi-social-github" /></a><!--]--></div></div></div><!--]--><!--]--></div></div></div><!--[--><!--]--><button type="button" class="VPNavBarHamburger hamburger" aria-label="mobile navigation" aria-expanded="false" aria-controls="VPNavScreen" data-v-ccf7ddec data-v-e5dd9c1c><span class="container" data-v-e5dd9c1c><span class="top" data-v-e5dd9c1c></span><span class="middle" data-v-e5dd9c1c></span><span class="bottom" data-v-e5dd9c1c></span></span></button></div></div></div></div><div class="divider" data-v-ccf7ddec><div class="divider-line" data-v-ccf7ddec></div></div></div><!----></header><div class="VPLocalNav has-sidebar empty" data-v-5d98c3a5 data-v-a6f0e41e><div class="container" data-v-a6f0e41e><button class="menu" aria-expanded="false" aria-controls="VPSidebarNav" data-v-a6f0e41e><span class="vpi-align-left menu-icon" data-v-a6f0e41e></span><span class="menu-text" data-v-a6f0e41e>Menu</span></button><div class="VPLocalNavOutlineDropdown" style="--vp-vh:0px;" data-v-a6f0e41e data-v-17a5e62e><button data-v-17a5e62e>Return to top</button><!----></div></div></div><aside class="VPSidebar" data-v-5d98c3a5 data-v-575e6a36><div class="curtain" data-v-575e6a36></div><nav class="nav" id="VPSidebarNav" aria-labelledby="sidebar-aria-label" tabindex="-1" data-v-575e6a36><span class="visually-hidden" id="sidebar-aria-label" data-v-575e6a36> Sidebar Navigation </span><!--[--><!--]--><!--[--><div class="group" data-v-575e6a36><section class="VPSidebarItem level-0 collapsible collapsed" data-v-575e6a36 data-v-b8d55f3b><div class="item" role="button" tabindex="0" data-v-b8d55f3b><div class="indicator" data-v-b8d55f3b></div><h2 class="text" data-v-b8d55f3b>0525</h2><div class="caret" role="button" aria-label="toggle section" tabindex="0" data-v-b8d55f3b><span class="vpi-chevron-right caret-icon" data-v-b8d55f3b></span></div></div><div class="items" data-v-b8d55f3b><!--[--><div class="VPSidebarItem level-1 is-link" data-v-b8d55f3b data-v-b8d55f3b><div class="item" data-v-b8d55f3b><div class="indicator" data-v-b8d55f3b></div><a class="VPLink link link" href="/0525/%E7%AC%AC3%E5%85%B3%E7%BB%83%E4%B9%A0%E9%A2%98.html" data-v-b8d55f3b><!--[--><p class="text" data-v-b8d55f3b>第3关练习题</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-b8d55f3b data-v-b8d55f3b><div class="item" data-v-b8d55f3b><div class="indicator" data-v-b8d55f3b></div><a class="VPLink link link" href="/0525/%E7%AC%AC4%E5%85%B3%E7%AC%94%E8%AF%95%E9%A2%98.html" data-v-b8d55f3b><!--[--><p class="text" data-v-b8d55f3b>第4关笔试题</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-b8d55f3b data-v-b8d55f3b><div class="item" data-v-b8d55f3b><div class="indicator" data-v-b8d55f3b></div><a class="VPLink link link" href="/0525/%E7%AC%AC5%E5%85%B3%E7%BB%83%E4%B9%A0%E9%A2%98.html" data-v-b8d55f3b><!--[--><p class="text" data-v-b8d55f3b>第5关练习题</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-b8d55f3b data-v-b8d55f3b><div class="item" data-v-b8d55f3b><div class="indicator" data-v-b8d55f3b></div><a class="VPLink link link" href="/0525/%E7%AC%AC6%E5%85%B3%E7%B3%BB%E7%BB%9F%E8%AE%AD%E7%BB%83.html" data-v-b8d55f3b><!--[--><p class="text" data-v-b8d55f3b>第6关系统训练</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-b8d55f3b data-v-b8d55f3b><div class="item" data-v-b8d55f3b><div class="indicator" data-v-b8d55f3b></div><a class="VPLink link link" href="/0525/%E7%AC%AC8%E5%85%B3%E9%9D%A2%E8%AF%95%E9%A2%98.html" data-v-b8d55f3b><!--[--><p class="text" data-v-b8d55f3b>第8关面试题</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-b8d55f3b data-v-b8d55f3b><div class="item" data-v-b8d55f3b><div class="indicator" data-v-b8d55f3b></div><a class="VPLink link link" href="/0525/%E7%AC%AC9%E5%85%B3%E7%AC%94%E8%AF%95%E9%A2%98%E8%AE%AD%E7%BB%83.html" data-v-b8d55f3b><!--[--><p class="text" data-v-b8d55f3b>第9关笔试题训练</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-b8d55f3b data-v-b8d55f3b><div class="item" data-v-b8d55f3b><div class="indicator" data-v-b8d55f3b></div><a class="VPLink link link" href="/0525/%E7%AC%AC10%E5%85%B3%E5%B7%A5%E4%BD%9C%E7%BB%83%E4%B9%A0%E9%80%9A%E8%BF%87%E7%AC%94%E8%AF%95%E9%A2%98.html" data-v-b8d55f3b><!--[--><p class="text" data-v-b8d55f3b>第10关工作练习通过笔试题</p><!--]--></a><!----></div><!----></div><!--]--></div></section></div><div class="group" data-v-575e6a36><section class="VPSidebarItem level-0 collapsible collapsed" data-v-575e6a36 data-v-b8d55f3b><div class="item" role="button" tabindex="0" data-v-b8d55f3b><div class="indicator" data-v-b8d55f3b></div><h2 class="text" data-v-b8d55f3b>0526</h2><div class="caret" role="button" aria-label="toggle section" tabindex="0" data-v-b8d55f3b><span class="vpi-chevron-right caret-icon" data-v-b8d55f3b></span></div></div><div class="items" data-v-b8d55f3b><!--[--><div class="VPSidebarItem level-1 is-link" data-v-b8d55f3b data-v-b8d55f3b><div class="item" data-v-b8d55f3b><div class="indicator" data-v-b8d55f3b></div><a class="VPLink link link" href="/0526/%E7%AC%AC27%E5%A4%A9%E5%B7%A5%E4%BD%9C%E9%A1%B9%E7%9B%AE.html" data-v-b8d55f3b><!--[--><p class="text" data-v-b8d55f3b>第27天工作项目</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-b8d55f3b data-v-b8d55f3b><div class="item" data-v-b8d55f3b><div class="indicator" data-v-b8d55f3b></div><a class="VPLink link link" href="/0526/%E7%AC%AC28%E5%A4%A9%E5%B7%A5%E4%BD%9C%E4%BB%BB%E5%8A%A1.html" data-v-b8d55f3b><!--[--><p class="text" data-v-b8d55f3b>第28天工作任务</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-b8d55f3b data-v-b8d55f3b><div class="item" data-v-b8d55f3b><div class="indicator" data-v-b8d55f3b></div><a class="VPLink link link" href="/0526/%E7%AC%AC29%E5%A4%A9%E5%B7%A5%E4%BD%9C%E4%BB%BB%E5%8A%A1.html" data-v-b8d55f3b><!--[--><p class="text" data-v-b8d55f3b>第29天工作任务</p><!--]--></a><!----></div><!----></div><!--]--></div></section></div><div class="group" data-v-575e6a36><section class="VPSidebarItem level-0 collapsible collapsed" data-v-575e6a36 data-v-b8d55f3b><div class="item" role="button" tabindex="0" data-v-b8d55f3b><div class="indicator" data-v-b8d55f3b></div><h2 class="text" data-v-b8d55f3b>0527</h2><div class="caret" role="button" aria-label="toggle section" tabindex="0" data-v-b8d55f3b><span class="vpi-chevron-right caret-icon" data-v-b8d55f3b></span></div></div><div class="items" data-v-b8d55f3b><!--[--><div class="VPSidebarItem level-1 is-link" data-v-b8d55f3b data-v-b8d55f3b><div class="item" data-v-b8d55f3b><div class="indicator" data-v-b8d55f3b></div><a class="VPLink link link" href="/0527/" data-v-b8d55f3b><!--[--><p class="text" data-v-b8d55f3b>第30天任务</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-b8d55f3b data-v-b8d55f3b><div class="item" data-v-b8d55f3b><div class="indicator" data-v-b8d55f3b></div><a class="VPLink link link" href="/0527/%E7%AC%AC31-33%E5%A4%A9%E5%B7%A5%E4%BD%9C%E4%BB%BB%E5%8A%A1.html" data-v-b8d55f3b><!--[--><p class="text" data-v-b8d55f3b>第31-33天工作任务</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-b8d55f3b data-v-b8d55f3b><div class="item" data-v-b8d55f3b><div class="indicator" data-v-b8d55f3b></div><a class="VPLink link link" href="/0527/%E7%AC%AC34-35%E5%A4%A9%E5%B7%A5%E4%BD%9C%E5%B8%B8%E7%94%A8%E4%BB%BB%E5%8A%A1.html" data-v-b8d55f3b><!--[--><p class="text" data-v-b8d55f3b>第34-35天工作常用任务</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-b8d55f3b data-v-b8d55f3b><div class="item" data-v-b8d55f3b><div class="indicator" data-v-b8d55f3b></div><a class="VPLink link link" href="/0527/%E7%AC%AC36-39%E5%A4%A9%E9%A1%B9%E7%9B%AE%E5%92%8C%E6%95%85%E9%9A%9C%E5%A4%84%E7%90%86.html" data-v-b8d55f3b><!--[--><p class="text" data-v-b8d55f3b>第36-39天项目和故障处理</p><!--]--></a><!----></div><!----></div><!--]--></div></section></div><div class="group" data-v-575e6a36><section class="VPSidebarItem level-0 collapsible collapsed" data-v-575e6a36 data-v-b8d55f3b><div class="item" role="button" tabindex="0" data-v-b8d55f3b><div class="indicator" data-v-b8d55f3b></div><h2 class="text" data-v-b8d55f3b>0530</h2><div class="caret" role="button" aria-label="toggle section" tabindex="0" data-v-b8d55f3b><span class="vpi-chevron-right caret-icon" data-v-b8d55f3b></span></div></div><div class="items" data-v-b8d55f3b><!--[--><div class="VPSidebarItem level-1 is-link" data-v-b8d55f3b data-v-b8d55f3b><div class="item" data-v-b8d55f3b><div class="indicator" data-v-b8d55f3b></div><a class="VPLink link link" href="/0530/tomcat%E5%B7%A5%E4%BD%9C%E4%BB%BB%E5%8A%A1%E8%AE%AD%E7%BB%831.html" data-v-b8d55f3b><!--[--><p class="text" data-v-b8d55f3b>tomcat工作任务训练1</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-b8d55f3b data-v-b8d55f3b><div class="item" data-v-b8d55f3b><div class="indicator" data-v-b8d55f3b></div><a class="VPLink link link" href="/0530/tomcat%E9%9D%A2%E8%AF%95%E9%A2%98%E4%BB%BB%E5%8A%A1%E8%AE%AD%E7%BB%832.html" data-v-b8d55f3b><!--[--><p class="text" data-v-b8d55f3b>tomcat面试题任务训练2</p><!--]--></a><!----></div><!----></div><!--]--></div></section></div><div class="group" data-v-575e6a36><section class="VPSidebarItem level-0" data-v-575e6a36 data-v-b8d55f3b><div class="item" role="button" tabindex="0" data-v-b8d55f3b><div class="indicator" data-v-b8d55f3b></div><h2 class="text" data-v-b8d55f3b>0531</h2><!----></div><div class="items" data-v-b8d55f3b><!--[--><div class="VPSidebarItem level-1 is-link" data-v-b8d55f3b data-v-b8d55f3b><div class="item" data-v-b8d55f3b><div class="indicator" data-v-b8d55f3b></div><a class="VPLink link link" href="/0531/" data-v-b8d55f3b><!--[--><p class="text" data-v-b8d55f3b>云服务工作任务</p><!--]--></a><!----></div><!----></div><!--]--></div></section></div><div class="group" data-v-575e6a36><section class="VPSidebarItem level-0 collapsible collapsed" data-v-575e6a36 data-v-b8d55f3b><div class="item" role="button" tabindex="0" data-v-b8d55f3b><div class="indicator" data-v-b8d55f3b></div><h2 class="text" data-v-b8d55f3b>0601</h2><div class="caret" role="button" aria-label="toggle section" tabindex="0" data-v-b8d55f3b><span class="vpi-chevron-right caret-icon" data-v-b8d55f3b></span></div></div><div class="items" data-v-b8d55f3b><!--[--><div class="VPSidebarItem level-1 is-link" data-v-b8d55f3b data-v-b8d55f3b><div class="item" data-v-b8d55f3b><div class="indicator" data-v-b8d55f3b></div><a class="VPLink link link" href="/0601/" data-v-b8d55f3b><!--[--><p class="text" data-v-b8d55f3b>脚本训练1</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-b8d55f3b data-v-b8d55f3b><div class="item" data-v-b8d55f3b><div class="indicator" data-v-b8d55f3b></div><a class="VPLink link link" href="/0601/%E8%84%9A%E6%9C%AC%E8%AE%AD%E7%BB%832.html" data-v-b8d55f3b><!--[--><p class="text" data-v-b8d55f3b>脚本训练2</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-b8d55f3b data-v-b8d55f3b><div class="item" data-v-b8d55f3b><div class="indicator" data-v-b8d55f3b></div><a class="VPLink link link" href="/0601/%E8%84%9A%E6%9C%AC%E8%AE%AD%E7%BB%833.html" data-v-b8d55f3b><!--[--><p class="text" data-v-b8d55f3b>脚本训练3</p><!--]--></a><!----></div><!----></div><!--]--></div></section></div><div class="group" data-v-575e6a36><section class="VPSidebarItem level-0" data-v-575e6a36 data-v-b8d55f3b><div class="item" role="button" tabindex="0" data-v-b8d55f3b><div class="indicator" data-v-b8d55f3b></div><h2 class="text" data-v-b8d55f3b>0602</h2><!----></div><div class="items" data-v-b8d55f3b><!--[--><div class="VPSidebarItem level-1 is-link" data-v-b8d55f3b data-v-b8d55f3b><div class="item" data-v-b8d55f3b><div class="indicator" data-v-b8d55f3b></div><a class="VPLink link link" href="/0602/Mysql%E8%AE%AD%E7%BB%83.html" data-v-b8d55f3b><!--[--><p class="text" data-v-b8d55f3b> Mysql训练</p><!--]--></a><!----></div><!----></div><!--]--></div></section></div><div class="group" data-v-575e6a36><section class="VPSidebarItem level-0 has-active" data-v-575e6a36 data-v-b8d55f3b><!----><div class="items" data-v-b8d55f3b><!--[--><div class="VPSidebarItem level-1 is-link" data-v-b8d55f3b data-v-b8d55f3b><div class="item" data-v-b8d55f3b><div class="indicator" data-v-b8d55f3b></div><a class="VPLink link link" href="/zabbix.html" data-v-b8d55f3b><!--[--><p class="text" data-v-b8d55f3b>zabbix</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-b8d55f3b data-v-b8d55f3b><div class="item" data-v-b8d55f3b><div class="indicator" data-v-b8d55f3b></div><a class="VPLink link link" href="/zabbix2.html" data-v-b8d55f3b><!--[--><p class="text" data-v-b8d55f3b>zabbix2</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-b8d55f3b data-v-b8d55f3b><div class="item" data-v-b8d55f3b><div class="indicator" data-v-b8d55f3b></div><a class="VPLink link link" href="/redis.html" data-v-b8d55f3b><!--[--><p class="text" data-v-b8d55f3b>redis</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-b8d55f3b data-v-b8d55f3b><div class="item" data-v-b8d55f3b><div class="indicator" data-v-b8d55f3b></div><a class="VPLink link link" href="/ansible.html" data-v-b8d55f3b><!--[--><p class="text" data-v-b8d55f3b>Ansible</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-b8d55f3b data-v-b8d55f3b><div class="item" data-v-b8d55f3b><div class="indicator" data-v-b8d55f3b></div><a class="VPLink link link" href="/gitlab.html" data-v-b8d55f3b><!--[--><p class="text" data-v-b8d55f3b>Gitlab</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-b8d55f3b data-v-b8d55f3b><div class="item" data-v-b8d55f3b><div class="indicator" data-v-b8d55f3b></div><a class="VPLink link link" href="/jenkins.html" data-v-b8d55f3b><!--[--><p class="text" data-v-b8d55f3b>jenkins</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-b8d55f3b data-v-b8d55f3b><div class="item" data-v-b8d55f3b><div class="indicator" data-v-b8d55f3b></div><a class="VPLink link link" href="/docker1.html" data-v-b8d55f3b><!--[--><p class="text" data-v-b8d55f3b>docker1</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-b8d55f3b data-v-b8d55f3b><div class="item" data-v-b8d55f3b><div class="indicator" data-v-b8d55f3b></div><a class="VPLink link link" href="/docker2.html" data-v-b8d55f3b><!--[--><p class="text" data-v-b8d55f3b>docker2</p><!--]--></a><!----></div><!----></div><!--]--></div></section></div><!--]--><!--[--><!--]--></nav></aside><div class="VPContent has-sidebar" id="VPContent" data-v-5d98c3a5 data-v-1428d186><div class="VPDoc has-sidebar has-aside" data-v-1428d186 data-v-39a288b8><!--[--><!--]--><div class="container" data-v-39a288b8><div class="aside" data-v-39a288b8><div class="aside-curtain" data-v-39a288b8></div><div class="aside-container" data-v-39a288b8><div class="aside-content" data-v-39a288b8><div class="VPDocAside" data-v-39a288b8 data-v-3f215769><!--[--><!--]--><!--[--><!--]--><nav aria-labelledby="doc-outline-aria-label" class="VPDocAsideOutline" data-v-3f215769 data-v-a5bbad30><div class="content" data-v-a5bbad30><div class="outline-marker" data-v-a5bbad30></div><div aria-level="2" class="outline-title" id="doc-outline-aria-label" role="heading" data-v-a5bbad30>On this page</div><ul class="VPDocOutlineItem root" data-v-a5bbad30 data-v-b933a997><!--[--><!--]--></ul></div></nav><!--[--><!--]--><div class="spacer" data-v-3f215769></div><!--[--><!--]--><!----><!--[--><!--]--><!--[--><!--]--></div></div></div></div><div class="content" data-v-39a288b8><div class="content-container" data-v-39a288b8><!--[--><!--]--><main class="main" data-v-39a288b8><div style="position:relative;" class="vp-doc _redis" data-v-39a288b8><div><h2 id="_1-部署一个redis-给开发使用" tabindex="-1">1. 部署一个redis 给开发使用 <a class="header-anchor" href="#_1-部署一个redis-给开发使用" aria-label="Permalink to &quot;1. 部署一个redis 给开发使用&quot;">​</a></h2><details class="details custom-block"><summary>redis安装脚本</summary><div class="language-bash vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">bash</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;">#!/bin/bash</span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">redis_version</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">=</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">redis-7.2.0</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">redis_dir</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">=</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">/apps/redis</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">cpus</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">=</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">`</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">nproc</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">`</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">PASSWORD</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">=</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">123456</span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">color</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">() {</span></span>
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">    echo</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> -e</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &quot;\e[32m</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">$*</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">\e[0m&quot;</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">}</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">color</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> 安装依赖...</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">dnf</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> install</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> -y</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> make</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> gcc</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> &gt;</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> /dev/null</span></span>
<span class="line"></span>
<span class="line"></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">cd</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> /opt</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">if</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> [ </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">!</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> -e</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> ${redis_version}.tar.gz ]; </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">then</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">	wget</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">  https://download.redis.io/releases/</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">${redis_version}</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">.tar.gz</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">fi</span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">tar</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> xf</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> ${redis_version}</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">.tar.gz</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> -C</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> /usr/local/src</span></span>
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">cd</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> /usr/local/src/</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">$redis_version</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">make</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> -j</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> $cpus &amp;&amp; </span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">make</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> install</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> ||</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> { </span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">color</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> error</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">; </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">exit</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">; }</span></span>
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;">#ln -sv ${redis_dir}/bin/redis-* /usr/local/bin</span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"># 默认安装位置 /usr/local/bin</span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">mkdir</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> -p</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> $redis_dir</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">/{log,data,run}</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">id</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> redis</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> &amp;</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">&gt;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> /dev/null </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">||</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"> useradd</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> -s</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> /sbin/nologin</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> -r</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> redis</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">chown</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> -R</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> redis:redis</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> $redis_dir</span></span>
<span class="line"></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">cp</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> redis.conf</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> $redis_dir</span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"># 修改配置</span></span>
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"># daemonize yes</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">sed</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> -ri</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> -e</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &quot;s/(^daemonize ).*/\1yes/&quot;</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> \</span></span>
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">        -e</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &quot;s/(^bind ).*/\10.0.0.0/&quot;</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> \</span></span>
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">        -e</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &quot;/^pidfile/c pidfile ${</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">redis_dir</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">}\/redis_6379.pid&quot;</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> \</span></span>
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">        -e</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &quot;/^logfile/c logfile ${</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">redis_dir</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">}\/redis_6379.log&quot;</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> \</span></span>
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">        -e</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &quot;/# requirepass/a requirepass </span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">$PASSWORD</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&quot;</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> \</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">        $redis_dir</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">/redis.conf</span></span>
<span class="line"></span>
<span class="line"></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"># 消除 memory overcommit警告，可选</span></span>
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">echo</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &quot;vm.overcommit_memory = 1&quot;</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> &gt;&gt;</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> /etc/sysctl.conf</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">sysctl</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> vm.overcommit_memory=</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">1</span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"># 启动服务端</span></span>
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"># /user/local/bin/redis-server /myredis/redis.conf</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">color</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> 启动redis_server...</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">redis-server</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> $redis_dir</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">/redis.conf</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">sleep</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> 2</span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"># 连接</span></span>
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"># 或者进入验证 auth password</span></span>
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"># redis-cli -a password</span></span>
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;">#redis-cli -a $PASSWORD INFO Server</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">redis-cli</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> -a</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> $PASSWORD </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">ping</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> &amp;&amp; </span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">color</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> 安装完成</span></span></code></pre></div></details><h2 id="_2-redis配置参数-都代表啥意思-写到这" tabindex="-1">2 redis配置参数 都代表啥意思 写到这 <a class="header-anchor" href="#_2-redis配置参数-都代表啥意思-写到这" aria-label="Permalink to &quot;2 redis配置参数 都代表啥意思 写到这&quot;">​</a></h2><div class="language-sh vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">sh</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">bind：指定Redis绑定的IP地址。默认值通常是127.0.0.1</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">port：Redis服务器监听的端口号。默认是6379</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">requirepass：设置连接Redis服务器所需的密码</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">databases：Redis数据库数量。默认是16个</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">save：自动保存快照的频率</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">rdbcompression：是否压缩RDB快照文件。默认是yes</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">dbfilename：RDB快照文件的名称。默认是dump.rdb</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">dir：RDB快照文件和AOF日志文件的存储目录</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">appendonly：是否启用AOF（Append</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> Only</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> File）日志。默认是no</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">loglevel：日志级别。可以是debug、verbose、notice、warning</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">logfile：日志文件的位置。如果为空，日志将打印到标准输出</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">slaveof：设置从服务器，指定主服务器的IP和端口</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">masterauth：从服务器连接主服务器时使用的密码</span></span></code></pre></div><h2 id="_3-配置一个redis哨兵-和集群" tabindex="-1">3 配置一个redis哨兵 和集群 <a class="header-anchor" href="#_3-配置一个redis哨兵-和集群" aria-label="Permalink to &quot;3  配置一个redis哨兵 和集群&quot;">​</a></h2><h3 id="哨兵配置" tabindex="-1">哨兵配置 <a class="header-anchor" href="#哨兵配置" aria-label="Permalink to &quot;哨兵配置&quot;">​</a></h3><blockquote><p>哨兵的前提是已经实现了Redis的主从复制</p></blockquote><div class="language-bash vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">bash</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">master</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> 10.0.0.9</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">slave1</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> 10.0.0.10</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">slave2</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> 10.0.0.11</span></span></code></pre></div><p><strong>1 主从环境配置</strong></p><div class="language-bash vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">bash</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">bind</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> 0.0.0.0</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">masterauth</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &quot;123456&quot;</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">requirepass</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &quot;123456&quot;</span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"># #在所有从节点执行</span></span>
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">echo</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &quot;replicaof 10.0.0.9 6379&quot;</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> &gt;&gt;</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> /etc/redis.conf</span></span></code></pre></div><p><strong>2 哨兵配置</strong><br><code>/etc/redis-sentinel.conf</code></p><div class="language-bash vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">bash</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"># mymaster是集群的名称，此行指定当前mymaster集群中master服务器的地址和端口</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">sentinel</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> monitor</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> mymaster</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> 10.0.0.9</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> 6379</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> 2</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">sentinel</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> auth-pass</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> mymaster</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> 123456</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> </span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">sentinel</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> down-after-milliseconds</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> mymaster</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> 3000</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">sentinel</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> parallel-syncs</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> mymaster</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> 1</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">sentinel</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> failover-timeout</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> mymaster</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> 180000</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">sentinel</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> deny-scripts-reconfig</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> yes</span></span></code></pre></div><p><strong>3 启动</strong></p><div class="language-bash vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">bash</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">systemctl</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> start</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> redis-sentinel</span></span></code></pre></div><p><strong>4 查看状态</strong><img src="https://zbluo-imgs.oss-cn-chengdu.aliyuncs.com/imgs/Snipaste_2024-06-08_13-16-47.png" alt=""></p><h3 id="集群配置" tabindex="-1">集群配置 <a class="header-anchor" href="#集群配置" aria-label="Permalink to &quot;集群配置&quot;">​</a></h3><div class="language-bash vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">bash</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">10.0.0.9</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">10.0.0.10</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">10.0.0.11</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">10.0.0.12</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">10.0.0.13</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">10.0.0.14</span></span></code></pre></div><p><strong>1 修改配置文件</strong></p><div class="language-bash vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">bash</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">bind</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> 0.0.0.0</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">masterauth</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> 123456</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">requirepass</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> 123456</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">cluster-enabled</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> yes</span><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"> #取消此行注释,必须开启集群，开启后 redis 进程会有cluster标识</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">cluster-config-file</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> nodes-6379.conf</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">cluster-require-full-coverage</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> no</span><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"> #默认值为yes,设为no可以防止一个节点不可用导致整 个cluster不可用</span></span></code></pre></div><p><strong>2 创建集群</strong></p><div class="language-bash vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">bash</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">redis-cli</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> -a</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> 123456</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> --cluster</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> create</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> 10.0.0.9:6379</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> 10.0.0.10:6379</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> 10.0.0.11:6379</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> 10.0.0.12:6379</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> 10.0.0.13:6379</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> 10.0.0.14:6379</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> --cluster-replicas</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> 1</span></span></code></pre></div><p><strong>验证集群状态</strong><br><code>redis-cli -a 123456 CLUSTER INFO</code><img src="https://zbluo-imgs.oss-cn-chengdu.aliyuncs.com/imgs/Snipaste_2024-06-08_13-00-16.png" alt=""></p><p><strong>查看对应关系</strong><br><code>redis-cli -a 123456 CLUSTER NODES</code><img src="https://zbluo-imgs.oss-cn-chengdu.aliyuncs.com/imgs/Snipaste_2024-06-08_12-58-30.png" alt=""></p><h2 id="_4-整理常用redis命令" tabindex="-1">4 整理常用redis命令 <a class="header-anchor" href="#_4-整理常用redis命令" aria-label="Permalink to &quot;4  整理常用redis命令&quot;">​</a></h2><h3 id="服务器操作" tabindex="-1">服务器操作 <a class="header-anchor" href="#服务器操作" aria-label="Permalink to &quot;服务器操作&quot;">​</a></h3><div class="language-bash vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">bash</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">FLUSHDB:清空当前数据库中的所有键</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">FLUSHALL:清空所有数据库中的所有键</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">INFO:获取服务器的信息和统计数据</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">CONFIG</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> GET：获取Redis配置参数的值</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">CONFIG</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> SET：修改Redis配置参数的值</span></span></code></pre></div><h3 id="键操作" tabindex="-1">键操作 <a class="header-anchor" href="#键操作" aria-label="Permalink to &quot;键操作&quot;">​</a></h3><div class="language-bash vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">bash</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">DEL</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> key1</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> [key2 </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">...]:</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> 删除一个或多个键</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">EXISTS</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> key：检查一个键是否存在</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">EXPIRE</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> key</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> seconds：为一个键设置过期时间（以秒为单位）</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">TYPE</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> key:</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> 获取键的类型</span></span></code></pre></div><h3 id="字符串操作" tabindex="-1">字符串操作 <a class="header-anchor" href="#字符串操作" aria-label="Permalink to &quot;字符串操作&quot;">​</a></h3><div class="language-bash vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">bash</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">SET</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> key</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> value</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">GET</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> key</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">INCR</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> key</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">DECR</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> key</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">APPEND</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> key</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> value:为键的值追加字符串</span></span></code></pre></div><h3 id="哈希" tabindex="-1">哈希 <a class="header-anchor" href="#哈希" aria-label="Permalink to &quot;哈希&quot;">​</a></h3><div class="language-bash vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">bash</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">HSET</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> key</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> field</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> value</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">HGET</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> key</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> field</span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"># 删除哈希表中的一个或多个字段</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">HDEL</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> key</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> field1</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> [field2 </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">...]</span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"># 获取哈希表中的所有字段和值</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">HGETALL</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> key</span></span></code></pre></div><h3 id="列表" tabindex="-1">列表 <a class="header-anchor" href="#列表" aria-label="Permalink to &quot;列表&quot;">​</a></h3><div class="language-bash vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">bash</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">LPUSH</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> key</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> value</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">RPUSH</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> key</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> value</span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">LPOP</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> key</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">RPOP</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> key</span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"># 获取列表在指定范围内的元素</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">LRANGE</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> key</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> start</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> stop</span></span></code></pre></div><h3 id="集合" tabindex="-1">集合 <a class="header-anchor" href="#集合" aria-label="Permalink to &quot;集合&quot;">​</a></h3><div class="language-bash vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">bash</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"># 向集合添加一个或多个成员</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">SADD</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> key</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> member1</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> [member2 </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">...]</span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"># 返回集合中的所有成员</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">SMEMBERS</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> key</span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"># 判断一个成员是否在集合中</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">SISMEMBER</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> key</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> member</span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"># 移除集合中的一个或多个成员</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">SREM</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> key</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> member1</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> [member2 </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">...]</span></span></code></pre></div></div></div></main><footer class="VPDocFooter" data-v-39a288b8 data-v-d4a0bba5><!--[--><!--]--><!----><nav class="prev-next" aria-labelledby="doc-footer-aria-label" data-v-d4a0bba5><span class="visually-hidden" id="doc-footer-aria-label" data-v-d4a0bba5>Pager</span><div class="pager" data-v-d4a0bba5><a class="VPLink link pager-link prev" href="/zabbix2.html" data-v-d4a0bba5><!--[--><span class="desc" data-v-d4a0bba5>Previous page</span><span class="title" data-v-d4a0bba5>zabbix2</span><!--]--></a></div><div class="pager" data-v-d4a0bba5><a class="VPLink link pager-link next" href="/ansible.html" data-v-d4a0bba5><!--[--><span class="desc" data-v-d4a0bba5>Next page</span><span class="title" data-v-d4a0bba5>Ansible</span><!--]--></a></div></nav></footer><!--[--><!--]--></div></div></div><!--[--><!--]--></div></div><!----><!--[--><!--]--></div></div>
    <script>window.__VP_HASH_MAP__=JSON.parse("{\"0601_脚本训练2.md\":\"bxL_OII9\",\"0524_第17天面试练习题.md\":\"B-Bwr_qw\",\"0525_第3关练习题.md\":\"Brpui4rY\",\"0525_第4关笔试题.md\":\"D_aJWv9K\",\"0525_第5关练习题.md\":\"Dv1wfQEF\",\"0524_find笔试题第02天.md\":\"CU8KdhYw\",\"0525_第7关笔试题测试题.md\":\"D8Bywguu\",\"0527_index.md\":\"wvcybkin\",\"0526_第27天工作项目.md\":\"xFwK_MMi\",\"0526_第29天工作任务.md\":\"D8X0j9bb\",\"0531_index.md\":\"B1AD_Irv\",\"0527_第34-35天工作常用任务.md\":\"1lq9JFzF\",\"0524_第14天面试练习题.md\":\"BQ_e530s\",\"0524_第15天面试练习题.md\":\"CFZw9PBt\",\"0524_grep笔试题04天.md\":\"Bw_3KYrw\",\"index.md\":\"C23vzj0P\",\"jenkins.md\":\"CcnW_xDk\",\"redis.md\":\"BA4_Iqpx\",\"0601_脚本训练3.md\":\"CIup-IPe\",\"0524_awk笔试题01天.md\":\"CZ4K5sWP\",\"zabbix2.md\":\"D0l-xxSg\",\"docker1.md\":\"-1WegKl_\",\"0524_第18天笔试题.md\":\"Div8O8gR\",\"0524_第19-20笔试题.md\":\"BugDAnzm\",\"0527_第31-33天工作任务.md\":\"wRNU8mwY\",\"0525_第6关系统训练.md\":\"DxThIqco\",\"0525_第9关笔试题训练.md\":\"DRiIJIfJ\",\"0526_第28天工作任务.md\":\"C2yJtRT-\",\"zabbix.md\":\"B1_PTj9A\",\"0524_第16天面试练习题.md\":\"DyPzj_CN\",\"gitlab.md\":\"DwMEcIY2\",\"0530_tomcat工作任务训练1.md\":\"BE8DwKjm\",\"0601_index.md\":\"5meZ345H\",\"0530_tomcat面试题任务训练2.md\":\"CtCE1kwM\",\"0525_第8关面试题.md\":\"BqVps_Ya\",\"0527_第36-39天项目和故障处理.md\":\"CsI97XrK\",\"0602_mysql训练.md\":\"C5RsA0sy\",\"0525_第10关工作练习通过笔试题.md\":\"CgGbVpE3\",\"ansible.md\":\"BKDONLmK\",\"docker2.md\":\"rHIobLu0\"}");window.__VP_SITE_DATA__=JSON.parse("{\"lang\":\"en-US\",\"dir\":\"ltr\",\"title\":\"Luozaibo\",\"description\":\"A VitePress Site\",\"base\":\"/\",\"head\":[],\"router\":{\"prefetchLinks\":true},\"appearance\":true,\"themeConfig\":{\"nav\":[],\"sidebar\":[{\"text\":\"0525\",\"collapsed\":true,\"items\":[{\"text\":\"第3关练习题\",\"link\":\"/0525/第3关练习题\"},{\"text\":\"第4关笔试题\",\"link\":\"/0525/第4关笔试题\"},{\"text\":\"第5关练习题\",\"link\":\"/0525/第5关练习题\"},{\"text\":\"第6关系统训练\",\"link\":\"/0525/第6关系统训练\"},{\"text\":\"第8关面试题\",\"link\":\"/0525/第8关面试题\"},{\"text\":\"第9关笔试题训练\",\"link\":\"/0525/第9关笔试题训练\"},{\"text\":\"第10关工作练习通过笔试题\",\"link\":\"/0525/第10关工作练习通过笔试题\"}]},{\"text\":\"0526\",\"collapsed\":true,\"items\":[{\"text\":\"第27天工作项目\",\"link\":\"/0526/第27天工作项目\"},{\"text\":\"第28天工作任务\",\"link\":\"/0526/第28天工作任务\"},{\"text\":\"第29天工作任务\",\"link\":\"/0526/第29天工作任务\"}]},{\"text\":\"0527\",\"collapsed\":true,\"items\":[{\"text\":\"第30天任务\",\"link\":\"/0527/\"},{\"text\":\"第31-33天工作任务\",\"link\":\"/0527/第31-33天工作任务\"},{\"text\":\"第34-35天工作常用任务\",\"link\":\"/0527/第34-35天工作常用任务\"},{\"text\":\"第36-39天项目和故障处理\",\"link\":\"/0527/第36-39天项目和故障处理\"}]},{\"text\":\"0530\",\"collapsed\":true,\"items\":[{\"text\":\"tomcat工作任务训练1\",\"link\":\"/0530/tomcat工作任务训练1\"},{\"text\":\"tomcat面试题任务训练2\",\"link\":\"/0530/tomcat面试题任务训练2\"}]},{\"text\":\"0531\",\"items\":[{\"text\":\"云服务工作任务\",\"link\":\"/0531/\"}]},{\"text\":\"0601\",\"collapsed\":true,\"items\":[{\"text\":\"脚本训练1\",\"link\":\"/0601/\"},{\"text\":\"脚本训练2\",\"link\":\"/0601/脚本训练2\"},{\"text\":\"脚本训练3\",\"link\":\"/0601/脚本训练3\"}]},{\"text\":\"0602\",\"items\":[{\"text\":\" Mysql训练\",\"link\":\"/0602/Mysql训练\"}]},{\"text\":\"zabbix\",\"link\":\"/zabbix\"},{\"text\":\"zabbix2\",\"link\":\"/zabbix2\"},{\"text\":\"redis\",\"link\":\"/redis\"},{\"text\":\"Ansible\",\"link\":\"/ansible\"},{\"text\":\"Gitlab\",\"link\":\"/gitlab\"},{\"text\":\"jenkins\",\"link\":\"/jenkins\"},{\"text\":\"docker1\",\"link\":\"/docker1\"},{\"text\":\"docker2\",\"link\":\"/docker2\"}],\"socialLinks\":[{\"icon\":\"github\",\"link\":\"https://github.com/vuejs/vitepress\"}]},\"locales\":{},\"scrollOffset\":134,\"cleanUrls\":false}");</script>
    
  </body>
</html>